Platforms, media, and methods providing a first play streaming media station

ABSTRACT

Disclosed herein are media, systems, and methods of creating and publishing a first play station, wherein a media creator is allowed to select a plurality of audio media and sequence the selected audio media to create an ordered combination and request a first play station. Each audio media in the ordered combination is validated to create a first play station, and the media creator is allowed to play the first play station. After the first paly station is published, a call from a third party player application prompts the published first play station, At least one alteration to the ordered combination of validated audio media can be generated, wherein the at least one alteration is selected from the group consisting of: an alternate validated audio media, an alternate sequence of the ordered combination of validated audio media, or a combination thereof.

CROSS-REFERENCE

This application is a continuation of U.S. patent application Ser. No.16/721,784, filed Dec. 19, 2019, issued as U.S. Pat. No. 11,115,703 onSep. 7, 2021, which are incorporated herein by reference in theirentirety.

BACKGROUND

Streaming media services are prevalent today to satisfy our audio andvideo needs. Content creators who publish or stream online content haveto abide by legal rules (e.g., copyright).

SUMMARY

Individuals currently have no way to legally program non-interactivemusic that aligns with their video content, especially fitnessinstructors who want intros, main segments, and outros to enhance theirworkout sessions. Individuals who download music tracks and then syncthis music with video content they create cannot legally do so unlessthey have obtained proper licensing for the music they are using. Hence,a technological tool to assist online content creators that want toutilize interactive music while complying with legal copyright rules isneeded.

In some embodiments, the claimed subject matter allows individuals torequest, via a web interface, a station of non-interactive (streaming)music with songs that are specific to enhancing the overall mediaexperience based customized intros, crossfade periods, and outros. Insome embodiments, these settings can be provided at a global level forall stations or individually that station level. In some embodiments,once a first play station is developed, the end user can overlay thestation to their video content by playing it while the video portion isbeing recorded live. In some embodiments, the claimed subject matteroffers an improved graphical user interface allowing the media contentcreator to more efficiently and effectively identifying the appropriateor validated audio content for their first play station.

In one aspect, disclosed herein are: a platform comprising: (a) at leastone server comprising at least one processor, an operating systemconfigured to perform executable instructions, a memory, and a computerprogram including instructions executable to cause the at least oneserver to perform at least the following: (i) provide a first userinterface allowing a media creator to select a plurality of audio mediaand sequence the selected audio media to create an ordered combinationof audio media and request a first play station; (ii) validate eachaudio media in the ordered combination to create a first play station;(iii) provide a second user interface allowing the media creator to playthe first play station; (iv) publish the first play station; (v) receivea call from a third party player application to prompt the publishedfirst play station; and (vi) generate at least one alteration to theordered combination of validated audio media, wherein the at least onealteration is selected from the group consisting of: an alternatevalidated audio media, an alternate sequence of the ordered combinationof validated audio media, or a combination thereof; and (b) at least oneend user device comprising at least one processor, an operating systemconfigured to perform executable instructions, a memory, and a computerprogram including instructions executable by the end user device tocause the end user device to perform at least the following: (i) providea third party application allowing an end user to play a video; whereina start of the video sends the call from the third party playerapplication to the published first play station to start the publishedfirst play station so the starts of the video and the published firstplay station are paired; wherein in an initial play by the end user thepublished first play station consists of the ordered combination ofvalidated audio media; and wherein in each subsequent play by the enduser the published first play station comprises the at least onealteration to the ordered combination of validated audio media. In someembodiments, the first user interface further allows the media creatorto select audio media based on title, genre, beats per minute (bpm),tempo, artist, duration, language, record label, composer, date, mediafranchise, medium, awards, album, explicit language, or any combinationthereof. In some embodiments, validating audio media comprises checkingcompliance with copyright playback rules or licensing restrictions. Insome embodiments, the first user interface further allows the mediacreator to configure within the ordered combination of audio media anintro timepoint, an outro timepoint, or any combination thereof. In someembodiments, when the first play station reaches a configured introtimepoint, the first play station automatically trims a currentvalidated audio media and crossfades to a next validated audio media. Insome embodiments, when the first play station reaches a configured outrotimepoint, the first station automatically trims a current validatedaudio media and crossfades to a next validated audio media. In someembodiments, the ordered combination of audio media within the introtimepoint comprises an intro segment, wherein the ordered combination ofaudio media after the intro timepoint and before the outro timepointcomprises a main segment, wherein the ordered combination of audio mediaafter the outro timepoint comprises an outro segment, or any combinationthereof. In some embodiments, the first user interface further colorcodes one or more segments. In some embodiments, the first userinterface further allows the media creator to configure a crossfade timefor one or more validated audio media. In some embodiments, the seconduser interface further provides one or more visual cues when the firstplay station is playing. In some embodiments, publishing the videocomprises streaming the video to one or more end user devices. In someembodiments, the alternate validated audio media is different from thevalidated audio media. In some embodiments, generating the at least onealteration to the ordered combination of validated audio media comprisesselecting one or more alternate audio media based on similarity to avalidated audio media with regard to at least one of the followingcharacteristics: title, genre, bpm, tempo, artist, duration, language,record label, composer, date, media franchise, medium, awards, album,explicit language, frequency range, or frequency distribution. In someembodiments, the alternate audio media and the validated audio media arewithin about 5 bpm, 10 bpm, 15, bpm, 20 bpm, 25 bpm, 30 bpm, 35 bpm, 40bpm, 45 bpm, or 50 bpm. In some embodiments, the alternate audio mediaand the validated audio media are within about 99% same duration, 98%same duration, 97% same duration, 96% same duration, 95% same duration,or 90% same duration. In some embodiments, the alternate audio media andthe validated audio media are within about 99% same frequency range, 98%same frequency range, 97% same frequency range, 96% same frequencyrange, 95% same frequency range, or 90% same frequency range. In someembodiments, the alternate audio media and the validated audio media arewithin about 99% same frequency distribution, 98% same frequencydistribution, 97% same frequency distribution, 96% same frequencydistribution, 95% same frequency distribution, or 90% same frequencydistribution. In some embodiments, the first user interface furtherdisplays a running tally of the ordered combination of audio media afterevery selected audio media. In some embodiments, the computer programincluding instructions executable to cause the at least one server tofurther perform: provide a third user interface configured to allow thesetting of global configuration values.

In another aspect, disclosed herein are non-transitory computer-readablestorage media encoded with a computer program including instructionsexecutable by the one or more processors to create and publish a firstplay station comprising: (a) a software module configured to provide afirst user interface allowing a media creator to select a plurality ofaudio media and sequence the selected audio media to create an orderedcombination of audio media and request a first play station; (b) asoftware module configured to validate each audio media in the orderedcombination to create a first play station; (c) a software moduleconfigured to provide a second user interface allowing the media creatorto play the first play station; (d) a software module configured topublish the first play station; and (e) a software module configured toreceive a call from a third party player application to prompt thepublished first play station; and (f) a software module configured togenerate at least one alteration to the ordered combination of validatedaudio media, wherein the at least one alteration is selected from thegroup consisting of: an alternate validated audio media, an alternatesequence of the ordered combination of validated audio media, or acombination thereof; wherein a start of a video on the third partyplayer application sends the call to the published first play station tostart the published first play station so the starts of the video andthe published first play station are paired, wherein an initial play ofthe published first play station consists of the ordered combination ofvalidated audio media; and wherein in each subsequent play of thepublished first play station comprises the at least one alteration tothe ordered combination of validated audio media. In some embodiments,the first user interface further allows the media creator to selectaudio media based on title, genre, beats per minute (bpm), tempo,artist, duration, language, record label, composer, date, mediafranchise, medium, awards, album, explicit language, or any combinationthereof. In some embodiments, validating audio media comprises checkingcompliance with copyright playback rules or licensing restrictions. Insome embodiments, the first user interface further allows the mediacreator to configure within the ordered combination of audio media anintro timepoint, an outro timepoint, or any combination thereof. In someembodiments, when the first play station reaches a configured introtimepoint, the first play station automatically trims a currentvalidated audio media and crossfades to a next validated audio media. Insome embodiments, when the first play station reaches a configured outrotimepoint, the first station automatically trims a current validatedaudio media and crossfades to a next validated audio media. In someembodiments, the ordered combination of audio media within the introtimepoint comprises an intro segment, wherein the ordered combination ofaudio media after the intro timepoint and before the outro timepointcomprises a main segment, wherein the ordered combination of audio mediaafter the outro timepoint comprises an outro segment, or any combinationthereof. In some embodiments, the first user interface further colorcodes one or more segments. In some embodiments, the first userinterface further allows the media creator to configure a crossfade timefor one or more validated audio media. In some embodiments, the seconduser interface further provides one or more visual cues when the firstplay station is playing. In some embodiments, publishing the videocomprises streaming the video to one or more end user devices. In someembodiments, the alternate validated audio media is different from thevalidated audio media. In some embodiments, generating the at least onealteration to the ordered combination of validated audio media comprisesselecting one or more alternate audio media based on similarity to avalidated audio media with regard to at least one of the followingcharacteristics: title, genre, bpm, tempo, artist, duration, language,record label, composer, date, media franchise, medium, awards, album,explicit language, frequency range, or frequency distribution. In someembodiments, the alternate audio media and the validated audio media arewithin about 5 bpm, 10 bpm, 15, bpm, 20 bpm, 25 bpm, 30 bpm, 35 bpm, 40bpm, 45 bpm, or 50 bpm. In some embodiments, the alternate audio mediaand the validated audio media are within about 99% same duration, 98%same duration, 97% same duration, 96% same duration, 95% same duration,or 90% same duration. In some embodiments, the alternate audio media andthe validated audio media are within about 99% same frequency range, 98%same frequency range, 97% same frequency range, 96% same frequencyrange, 95% same frequency range, or 90% same frequency range. In someembodiments, the alternate audio media and the validated audio media arewithin about 99% same frequency distribution, 98% same frequencydistribution, 97% same frequency distribution, 96% same frequencydistribution, 95% same frequency distribution, or 90% same frequencydistribution. In some embodiments, the first user interface furtherdisplays a running tally of the ordered combination of audio media afterevery selected audio media. In some embodiments, the media encoded witha computer program including instructions executable by the one or moreprocessors further comprises a software module configured to provide athird user interface configured to allow the setting of globalconfiguration values.

In another aspect, disclosed herein is a computer-implemented method ofcreating and publishing a first play station, the method comprising: (a)providing a first user interface allowing a media creator to select aplurality of audio media and sequence the selected audio media to createan ordered combination of audio media and request a first play station;(b) validating each audio media in the ordered combination to create afirst play station; (c) providing a second user interface allowing themedia creator to play the first play station; (d) publishing the firstplay station; (e) receiving a call from a third party player applicationto prompt the published first play station; and (f) generating at leastone alteration to the ordered combination of validated audio media,wherein the at least one alteration is selected from the groupconsisting of: an alternate validated audio media, an alternate sequenceof the ordered combination of validated audio media, or a combinationthereof, wherein a start of a video on the third party playerapplication sends the call to the published first play station to startthe published first play station so the starts of the video and thepublished first play station are paired, wherein an initial play of thefirst published play station consists of the ordered combination ofvalidated audio media; and wherein in each subsequent play of thepublished first play station comprises the at least one alteration tothe ordered combination of validated audio media. In some embodiments,the first user interface further allows the media creator to selectaudio media based on title, genre, beats per minute (bpm), tempo,artist, duration, language, record label, composer, date, mediafranchise, medium, awards, album, explicit language, or any combinationthereof. In some embodiments, validating audio media comprises checkingcompliance with copyright playback rules or licensing restrictions. Insome embodiments, the first user interface further allows the mediacreator to configure within the ordered combination of audio media anintro timepoint, an outro timepoint, or any combination thereof. In someembodiments, when the first play station reaches a configured introtimepoint, the first play station automatically trims a currentvalidated audio media and crossfades to a next validated audio media. Insome embodiments, when the first play station reaches a configured outrotimepoint, the first station automatically trims a current validatedaudio media and crossfades to a next validated audio media. In someembodiments, the ordered combination of audio media within the introtimepoint comprises an intro segment, wherein the ordered combination ofaudio media after the intro timepoint and before the outro timepointcomprises a main segment, wherein the ordered combination of audio mediaafter the outro timepoint comprises an outro segment, or any combinationthereof. In some embodiments, the first user interface further colorcodes one or more segments. In some embodiments, the first userinterface further allows the media creator to configure a crossfade timefor one or more validated audio media. In some embodiments, the seconduser interface further provides one or more visual cues when the firstplay station is playing. In some embodiments, publishing the videocomprises streaming the video to one or more end user devices. In someembodiments, the alternate validated audio media is different from thevalidated audio media. In some embodiments, generating the at least onealteration to the ordered combination of validated audio media comprisesselecting one or more alternate audio media based on similarity to avalidated audio media with regard to at least one of the followingcharacteristics: title, genre, bpm, tempo, artist, duration, language,record label, composer, date, media franchise, medium, awards, album,explicit language, frequency range, or frequency distribution. In someembodiments, the alternate audio media and the validated audio media arewithin about 5 bpm, 10 bpm, 15, bpm, 20 bpm, 25 bpm, 30 bpm, 35 bpm, 40bpm, 45 bpm, or 50 bpm. In some embodiments, the alternate audio mediaand the validated audio media are within about 99% same duration, 98%same duration, 97% same duration, 96% same duration, 95% same duration,or 90% same duration. In some embodiments, the alternate audio media andthe validated audio media are within about 99% same frequency range, 98%same frequency range, 97% same frequency range, 96% same frequencyrange, 95% same frequency range, or 90% same frequency range. In someembodiments, the alternate audio media and the validated audio media arewithin about 99% same frequency distribution, 98% same frequencydistribution, 97% same frequency distribution, 96% same frequencydistribution, 95% same frequency distribution, or 90% same frequencydistribution. In some embodiments, the first user interface furtherdisplays a running tally of the ordered combination of audio media afterevery selected audio media. In some embodiments, thecomputer-implemented method further comprises providing a third userinterface configured to allow the setting of global configurationvalues.

BRIEF DESCRIPTION OF THE DRAWINGS

A better understanding of the features and advantages of the presentsubject matter will be obtained by reference to the following detaileddescription that sets forth illustrative embodiments and theaccompanying drawings of which:

FIG. 1 shows a non-limiting example of a flowchart; in this a case, aflowchart describing the process of creating a first play station to beused by end users;

FIG. 2 shows a non-limiting example of a flowchart; in this case, aflowchart describing the process of creating and submitting a first playstation;

FIG. 3 shows a non-limiting example of a flowchart; in this case, a flowchart describing the process of creating a video associated with a firstplay station;

FIG. 4 shows a non-limiting example of a graphical user interface; inthis case, a user interface depicting a plurality of audio media for amedia creator to select and sequence;

FIG. 5 shows a non-limiting example of a graphical user interface; inthis case, a user interface depicting a user interface for anadministrator to edit a first play station;

FIG. 6 shows a non-limiting example of a computing device; in this case,a device with one or more processors, memory, storage, and a networkinterface;

FIG. 7 shows a non-limiting example of a web/mobile applicationprovision system; in this case, a system providing browser-based and/ornative mobile user interfaces; and

FIG. 8 shows a non-limiting example of a cloud-based web/mobileapplication provision system; in this case, a system comprising anelastically load balanced, auto-scaling web server and applicationserver resources as well synchronously replicated databases.

DETAILED DESCRIPTION

Described herein, in certain embodiments, are: a platform comprising:(a) at least one server comprising at least one processor, an operatingsystem configured to perform executable instructions, a memory, and acomputer program including instructions executable to cause the at leastone server to perform at least the following: (i) provide a first userinterface allowing a media creator to select a plurality of audio mediaand sequence the selected audio media to create an ordered combinationof audio media and request a first play station; (ii) validate eachaudio media in the ordered combination to create a first play station;(iii) provide a second user interface allowing the media creator to playthe first play station; (iv) publish the first play station and a video;(v) generate at least one alteration to the ordered combination ofvalidated audio media, wherein the at least one alteration is selectedfrom the group consisting of: an alternate validated audio media, analternate sequence of the ordered combination of validated audio media,or a combination thereof; and (b) at least one end user devicecomprising at least one processor, an operating system configured toperform executable instructions, a memory, and a computer programincluding instructions executable by the end user device to cause theend user device to perform at least the following: (i) provide a thirduser interface allowing an end user to play the video and the first playstation; wherein a start of the video and a start of the first playstation are synchronized; wherein in an initial play by the end user thefirst play station consists of the ordered combination of validatedaudio media; and wherein in each subsequent play by the end user thefirst play station comprises the at least one alteration to the orderedcombination of validated audio media. In some embodiments, the firstuser interface further allows the media creator to select audio mediabased on title, genre, beats per minute (bpm), tempo, artist, duration,language, record label, composer, date, media franchise, medium, awards,album, explicit language, or any combination thereof. In someembodiments, validating audio media comprises checking compliance withcopyright playback rules or licensing restrictions. In some embodiments,the first user interface further allows the media creator to configurewithin the ordered combination of audio media an intro timepoint, anoutro timepoint, or any combination thereof. In some embodiments, whenthe first play station reaches a configured intro timepoint, the firstplay station automatically trims a current validated audio media andcrossfades to a next validated audio media. In some embodiments, whenthe first play station reaches a configured outro timepoint, the firststation automatically trims a current validated audio media andcrossfades to a next validated audio media. In some embodiments, theordered combination of audio media within the intro timepoint comprisesan intro segment, wherein the ordered combination of audio media afterthe intro timepoint and before the outro timepoint comprises a mainsegment, wherein the ordered combination of audio media after the outrotimepoint comprises an outro segment, or any combination thereof. Insome embodiments, the first user interface further color codes one ormore segments. In some embodiments, the first user interface furtherallows the media creator to configure a crossfade time for one or morevalidated audio media. In some embodiments, the second user interfacefurther provides one or more visual cues when the first play station isplaying. In some embodiments, publishing the video comprises streamingthe video to one or more end user devices. In some embodiments, thealternate validated audio media is different from the validated audiomedia. In some embodiments, generating the at least one alteration tothe ordered combination of validated audio media comprises selecting oneor more alternate audio media based on similarity to a validated audiomedia with regard to at least one of the following characteristics:title, genre, bpm, tempo, artist, duration, language, record label,composer, date, media franchise, medium, awards, album, explicitlanguage, frequency range, or frequency distribution. In someembodiments, the alternate audio media and the validated audio media arewithin about 5 bpm, 10 bpm, 15, bpm, 20 bpm, 25 bpm, 30 bpm, 35 bpm, 40bpm, 45 bpm, or 50 bpm. In some embodiments, the alternate audio mediaand the validated audio media are within about 99% same duration, 98%same duration, 97% same duration, 96% same duration, 95% same duration,or 90% same duration. In some embodiments, the alternate audio media andthe validated audio media are within about 99% same frequency range, 98%same frequency range, 97% same frequency range, 96% same frequencyrange, 95% same frequency range, or 90% same frequency range. In someembodiments, the alternate audio media and the validated audio media arewithin about 99% same frequency distribution, 98% same frequencydistribution, 97% same frequency distribution, 96% same frequencydistribution, 95% same frequency distribution, or 90% same frequencydistribution. In some embodiments, the first user interface furtherdisplays a running tally of the ordered combination of audio media afterevery selected audio media.

Also described herein, in certain embodiments, are non-transitorycomputer-readable storage media encoded with a computer programincluding instructions executable by the one or more processors tocreate and publish a first play station comprising: (a) a softwaremodule configured to provide a first user interface allowing a mediacreator to select a plurality of audio media and sequence the selectedaudio media to create an ordered combination of audio media and requesta first play station; (b) a software module configured to validate eachaudio media in the ordered combination to create a first play station;(c) a software module configured to provide a second user interfaceallowing the media creator to play the first play station; (d) asoftware module configured to publish the first play station and avideo; and (e) a software module configured to generate at least onealteration to the ordered combination of validated audio media, whereinthe at least one alteration is selected from the group consisting of: analternate validated audio media, an alternate sequence of the orderedcombination of validated audio media, or a combination thereof; whereina start of the published first play station and a start of the publishedfirst play station are synchronized, wherein an initial play of thefirst play station consists of the ordered combination of validatedaudio media; and wherein in each subsequent play of the first playstation comprises the at least one alteration to the ordered combinationof validated audio media. In some embodiments, the first user interfacefurther allows the media creator to select audio media based on title,genre, beats per minute (bpm), tempo, artist, duration, language, recordlabel, composer, date, media franchise, medium, awards, album, explicitlanguage, or any combination thereof. In some embodiments, validatingaudio media comprises checking compliance with copyright playback rulesor licensing restrictions. In some embodiments, the first user interfacefurther allows the media creator to configure within the orderedcombination of audio media an intro timepoint, an outro timepoint, orany combination thereof. In some embodiments, when the first playstation reaches a configured intro timepoint, the first play stationautomatically trims a current validated audio media and crossfades to anext validated audio media. In some embodiments, when the first playstation reaches a configured outro timepoint, the first stationautomatically trims a current validated audio media and crossfades to anext validated audio media. In some embodiments, the ordered combinationof audio media within the intro timepoint comprises an intro segment,wherein the ordered combination of audio media after the intro timepointand before the outro timepoint comprises a main segment, wherein theordered combination of audio media after the outro timepoint comprisesan outro segment, or any combination thereof. In some embodiments, thefirst user interface further color codes one or more segments. In someembodiments, the first user interface further allows the media creatorto configure a crossfade time for one or more validated audio media. Insome embodiments, the second user interface further provides one or morevisual cues when the first play station is playing. In some embodiments,publishing the video comprises streaming the video to one or more enduser devices. In some embodiments, the alternate validated audio mediais different from the validated audio media. In some embodiments,generating the at least one alteration to the ordered combination ofvalidated audio media comprises selecting one or more alternate audiomedia based on similarity to a validated audio media with regard to atleast one of the following characteristics: title, genre, bpm, tempo,artist, duration, language, record label, composer, date, mediafranchise, medium, awards, album, explicit language, frequency range, orfrequency distribution. In some embodiments, the alternate audio mediaand the validated audio media are within about 5 bpm, 10 bpm, 15, bpm,20 bpm, 25 bpm, 30 bpm, 35 bpm, 40 bpm, 45 bpm, or 50 bpm. In someembodiments, the alternate audio media and the validated audio media arewithin about 99% same duration, 98% same duration, 97% same duration,96% same duration, 95% same duration, or 90% same duration. In someembodiments, the alternate audio media and the validated audio media arewithin about 99% same frequency range, 98% same frequency range, 97%same frequency range, 96% same frequency range, 95% same frequencyrange, or 90% same frequency range. In some embodiments, the alternateaudio media and the validated audio media are within about 99% samefrequency distribution, 98% same frequency distribution, 97% samefrequency distribution, 96% same frequency distribution, 95% samefrequency distribution, or 90% same frequency distribution. In someembodiments, the first user interface further displays a running tallyof the ordered combination of audio media after every selected audiomedia.

Also described herein, in certain embodiments, are computer-implementedmethod of creating and publishing a first play station, the methodcomprising: (a) providing a first user interface allowing a mediacreator to select a plurality of audio media and sequence the selectedaudio media to create an ordered combination of audio media and requesta first play station; (b) validating each audio media in the orderedcombination to create a first play station; (c) providing a second userinterface allowing the media creator to play the first play station; (d)publishing the first play station and a video; (e) generating at leastone alteration to the ordered combination of validated audio media,wherein the at least one alteration is selected from the groupconsisting of: an alternate validated audio media, an alternate sequenceof the ordered combination of validated audio media, or a combinationthereof, wherein a start of the published first play station and a startof the published first play station are synchronized, wherein an initialplay of the first play station consists of the ordered combination ofvalidated audio media; and wherein in each subsequent play of the firstplay station comprises the at least one alteration to the orderedcombination of validated audio media. In some embodiments, the firstuser interface further allows the media creator to select audio mediabased on title, genre, beats per minute (bpm), tempo, artist, duration,language, record label, composer, date, media franchise, medium, awards,album, explicit language, or any combination thereof. In someembodiments, validating audio media comprises checking compliance withcopyright playback rules or licensing restrictions. In some embodiments,the first user interface further allows the media creator to configurewithin the ordered combination of audio media an intro timepoint, anoutro timepoint, or any combination thereof. In some embodiments, whenthe first play station reaches a configured intro timepoint, the firstplay station automatically trims a current validated audio media andcrossfades to a next validated audio media. In some embodiments, whenthe first play station reaches a configured outro timepoint, the firststation automatically trims a current validated audio media andcrossfades to a next validated audio media. In some embodiments, theordered combination of audio media within the intro timepoint comprisesan intro segment, wherein the ordered combination of audio media afterthe intro timepoint and before the outro timepoint comprises a mainsegment, wherein the ordered combination of audio media after the outrotimepoint comprises an outro segment, or any combination thereof. Insome embodiments, the first user interface further color codes one ormore segments. In some embodiments, the first user interface furtherallows the media creator to configure a crossfade time for one or morevalidated audio media. In some embodiments, the second user interfacefurther provides one or more visual cues when the first play station isplaying. In some embodiments, publishing the video comprises streamingthe video to one or more end user devices. In some embodiments, thealternate validated audio media is different from the validated audiomedia. In some embodiments, generating the at least one alteration tothe ordered combination of validated audio media comprises selecting oneor more alternate audio media based on similarity to a validated audiomedia with regard to at least one of the following characteristics:title, genre, bpm, tempo, artist, duration, language, record label,composer, date, media franchise, medium, awards, album, explicitlanguage, frequency range, or frequency distribution. In someembodiments, the alternate audio media and the validated audio media arewithin about 5 bpm, 10 bpm, 15, bpm, 20 bpm, 25 bpm, 30 bpm, 35 bpm, 40bpm, 45 bpm, or 50 bpm. In some embodiments, the alternate audio mediaand the validated audio media are within about 99% same duration, 98%same duration, 97% same duration, 96% same duration, 95% same duration,or 90% same duration. In some embodiments, the alternate audio media andthe validated audio media are within about 99% same frequency range, 98%same frequency range, 97% same frequency range, 96% same frequencyrange, 95% same frequency range, or 90% same frequency range. In someembodiments, the alternate audio media and the validated audio media arewithin about 99% same frequency distribution, 98% same frequencydistribution, 97% same frequency distribution, 96% same frequencydistribution, 95% same frequency distribution, or 90% same frequencydistribution. In some embodiments, the first user interface furtherdisplays a running tally of the ordered combination of audio media afterevery selected audio media.

Certain Definitions

Unless otherwise defined, all technical terms used herein have the samemeaning as commonly understood by one of ordinary skill in the art towhich this invention belongs. As used in this specification and theappended claims, the singular forms “a,” “an,” and “the” include pluralreferences unless the context clearly dictates otherwise. Any referenceto “or” herein is intended to encompass “and/or” unless otherwisestated.

A “SDK,” as used herein, refers to a software development kit.

Referring to FIG. 1, a flowchart is shown depicting an exemplary processof creating a first play station to be used by end users. In someembodiments, a Station Builder Web interface 101, an interactive webpage where users can search for songs and arrange them in an orderedlist to become a “station request,” is provided. In some embodiments,users enter notable timestamps (such as “end of warmup period” and“start of cooldown period”) and playback configuration data (such as“cross fade time”). In some embodiments, all collected data is submittedto the station builder web service 102. In some embodiments, the StationBuilder Web Service 102 is a web service that receives song searchrequests from the web interface 101 and filters out songs also found inthe filter database 103. In some embodiments, this service accepts thefull “station request” from the web interface and validates it againstDMCA playback rules. In some embodiments, if the station passes allrules, the individual songs are matched up to songs in the song database104 or recorded as “placeholders” for purchase. In some embodiments, thecollection of songs, special timestamps and playback configuration arerecorded as a “station” in the station database 105. In someembodiments, the song filter database 103 is a database of song titlesand artist names that have been temporarily deemed ineligible forplayback, typically due to licensing issues. In some embodiments, thesong database 104 is a database of all the songs available for playback.In some embodiments, a station review interface 106, which is aninteractive web page where a user can listen to a constructed stationand submit feedback about the station to the Station Review Web Service107, is provided. In some embodiments, the Station Review Web Service isa web service that accepts comments from station reviewers and storesthem in the station database 105. In some embodiments, an API server108, an Internet service that accepts authenticated requests from themobile device software development kit (SDK) 109, is provided. In someembodiments the API server 108 retrieves station contents and song datafrom the station database 105 and song database 104, and ensures mobileclients are adhering to DMCA playback rules and sends the song data tothe mobile device. In some embodiments, the mobile device SDK 109comprises a library incorporated into mobile applications that handlesretrieving songs from the API server 108, playing them on the mobiledevice, and reporting the playback back to the API servers.

Referring to FIG. 2, a flow chart is shown depicting the process ofsubmitting and creating a first play station. In some embodiments, afirst play administrator 201 searches a song catalog to build a stationrequest 203. In some embodiments, each song in the catalog is analyzedto determine whether global music rights (GMR) protection applies,whether playing such song violates the Digital Millennium Copyright Act(DMCA), or whether any other licensing or copyright issues areimplicated 205. In some embodiments, if the user selected song has GMRprotection, would violate DMCA, or implicate other licensing orcopyright issues, then the user is messaged to try to select anothersong 202. In some embodiments, however, if no GMR, DMCA, copyright, orlicensing issues exist, then the song is added to the station request206. In some embodiments, the user can add additional songs to thestation request 204. In some embodiments, a client administrator 207 isprovided. In some embodiments, the client administrator defines globalintro values, crossfade values, and outro values 208. In someembodiments, the first play administrator accepts the global introvalues, crossfade values, outro value settings, other variables, or acombination thereof, or alternatively provides custom values 209. Insome embodiments, the intro timepoint or value designates the startand/or end of a warmup segment for a workout music station. In someembodiments, the outro timepoint or value designates the start and/orend of a main segment or a cooldown segment for a workout music station.In some embodiments, after the values, timepoints, crossfades, andvariables are set (e.g., accepted by first play administrator or customvalues provided), the station request is submitted 210 and then created211.

Referring to FIG. 3, a flow chart is shown depicting the process ofcreating a video alongside a first play station. In some embodiments, afirst play administrator 301 plays a first play station whilesimultaneously recording a choreographed video 302. In some embodiments,the video is a workout video. In some embodiments, the video is aninstructional video on one or more topics (make-up, cooking, homerepairs, math, English, writing, etc.). In some embodiments, the videois a gaming video. In some embodiments, the video is any streamingcontent. In some embodiments, a choreographed video is recorded withonly the First play administration voice audio 303. In some embodiments,an end user is provided 304. In some embodiments, the end user plays thechoreographed video via a client application 305. In some embodiments,the client application calls the First Play SDK for the First Playstation 306. In some embodiments, the choreographed video is played withFirst Play audio 307.

Referring to FIG. 4, an exemplary station request user interfacedepicting a plurality of audio media for a media creator to select andsequence is shown. In some embodiments, a user can search for one ormore songs based on key words 401. In some embodiments, a user canfilter songs based on whether the songs include or does not includeexplicit or profane language 415. In some embodiments, the stationrequest user interface can organize and display a catalog of songchoices based on a variety of categories 402, including, but not limitedto: title, genre, beats per minute (bpm), tempo, artist, duration,language, record label, composer, date, media franchise, medium, awards,album, explicit language, or any combination thereof. In someembodiments, a user can select one or more songs to include in anordered combination to eventually be included in a first play station beselecting the “REQUEST” graphical user interface icon 403. In someembodiments, the user can title the ordered combination of songs 407. Insome embodiments, the user can designate a timepoint when the warmupperiod will end 404. In some embodiments, the user can designate atimepoint when the main segment will end 405. In some embodiments, theuser can designate or customize the length of crossfade time betweenselected songs 406. In some embodiments, a crossfade occurs only if theuser has provided a crossfade value. In some embodiments, the totalnumber of tracks and the total duration of selected songs is presented408. In some embodiments, the selected song appears on the right side ofthe station request user interface 409 in the order they were selected.In some embodiments, the user can re-arrange the initial orderedcombination of songs on the right side of the station request userinterface by selecting and dragging the one or more songs to the orderthe user desires. In some embodiments, the station request userinterface depicts when the designated warmup period, main segment, orcooldown will end 410. In some embodiments, the station request userinterface depicts the total duration of time that has elapsed after anygiven song 411. In some embodiments, a running tally of the stationduration after each song is depicted. In some embodiments, the user canplay 412 or discard 413 a previously selected song within the orderedcombination of songs. In some embodiments, the songs to be played duringthe warmup segment is designated a first color, the songs to be playedduring the main segment is displayed in a second color, and the songs tobe played during the cooldown segment is displayed in a third color.

Referring to FIG. 5, a screenshot of a first play station globalconfiguration is provided. In some embodiments, the first play stationglobal configuration screen allows a first play station administrator toedit the station request options. In some embodiments, the administratorcan designate when the end of warmup timestamp should be 501. In someembodiments, the administrator can designate when the start of thecooldown timestamp would be 502. In some embodiments, the administratorcan designate the length of the crossfade duration 503. In someembodiments, the station requestor can override any of theaforementioned designations 504. In some embodiments, the first playstation global configuration allows the global setting for the segmentor the crossfade values. In some embodiments, the first play stationglobal configuration provides the ability to override these at thestation request level.

Music Playback Types and Limitations

In some embodiments, a Pandora-style Internet radio playback styleinterface is provided. In some embodiments, the Pandora-style Internetradio playback comprises a “default” playback type. In some embodiments,the Pandora-style Internet radio playback presents to the end-user aPandora-style interface, where the user hears songs in a uniqueordering, independent of other users, and the user can skip, like, ordislike songs. In some embodiments, songs are streamed over the Internetand not cached or stored locally. In some embodiments, the songs that auser hears may be partially chosen based on the user's playback history(for instance, disliked songs are never played again after they aredisliked), but the user may not explicitly request specific songs forplayback. In some embodiments. In some embodiments, catalog of songsavailable for this type of playback to users anywhere in the world. Insome embodiments, use of any published songs that are commerciallyavailable for playback is available for users in the United States. Insome embodiments, the software development kit (SDK) automaticallydetermines a user's geographic location (by geo-mapping their IPaddress) and can make available one collection of music to US users,while another collection of music is made available to non-US users. Insome embodiments, licensing restrictions prevent music from being playedback in a pre-determined ordering and prevent the user from selectingspecific songs for playback. In some embodiments, there are numerousplayback restrictions concerning how often a song or artist or album canbe repeated within a particular time period, but they are all handledautomatically by the SDK. In some embodiments, the application mayrespond to song events (such as a song starting or stopping) or metadata(such as BPM or genre). In some embodiments, the application does notpick up specific songs for playback, nor expect a specific playbackordering, nor know the next song queued up for playback until it hasstarted. In some embodiments, the Pandora-style Internet radio playbackstyle can stream any commercially available music to US users. In someembodiments, the Pandora-style Internet radio playback style can allowusers to skip songs (e.g., up to 1, 2, 3, 4, 5, 6, 7, 8, 9, or 10 perstation per hour). In some embodiments, the Pandora-style Internet radioplayback style can allow user actions to affect what music a user hears(e.g., disliking a song removes it from future playback). In someembodiments, the Pandora-style Internet radio playback style does notallow users to pick specific songs or a specific ordering of songs forplayback. In some embodiments, the Pandora-style Internet radio playbackstyle provides limited options for music selection for internationalusers than for those in the US. In some embodiments, the Pandora-styleInternet radio playback style can limit how often a particular song,artist, or album is played within some period, so stations must containa mix of artists, songs, and album.

In some embodiments, a simulcast playback radio style interface isprovided. In some embodiments, the same music is transmitted to allusers simultaneously. In some embodiments, users may not skip songs, andtheir play history does not affect which songs are played. In someembodiments, this type of playback may have a specific song ordering ormay be random. In some embodiments, each station loops through thosesongs 24/7 whether a client is listening or not. In some embodiments,the SDK automatically determines a user's geographic location (bygeo-mapping their IP address) and can make available one set of stationsto US users, which another set of stations made available to non-USusers. In some embodiments, the application may respond to song events(such as a song starting or stopping) or metadata (such as BPM orgenre). In some embodiments, the application does not pick up specificsongs for playback, nor expect a specific playback ordering, nor skipsongs. In some embodiments, the simulcast playback style can stream anycommercially available music to US users. In some embodiments, thesimulcast playback style can allow users to hear the same music atroughly the same time. In some embodiments, the simulcast playback stylelimits the music selection available for international users than for USusers. In some embodiments, the simulcast playback style can limit howoften a particular song, artist, or album may be played within someperiod, so stations must contain a mix of artists, songs, and album.

In some embodiments, an on-demand playback interface is provided. Insome embodiments, this on-demand playback interface is useful for ownedlicensed music. In some embodiments, the on-demand playback interfaceallows a user to see a list of all available songs and stream anyspecific song at any time in any order. In some embodiments, the usercan like, dislike, and skip songs. In some embodiments, songs arestreamed over the Internet and not cached or stored on the local device.In some embodiments, the on-demand playback has the fewer playbackrestrictions but must provide the individually licensed songs forplayback.

In some embodiments, an offline playback interface is provided. In someembodiments, the offline playback interface is like the Pandora-styleInternet radio except that playback occurs while the user is offline. Insome embodiments, the music must be downloaded to the local devicebefore playback. In some embodiments, users can like, dislike, and skipsongs. In some embodiments, song ordering is random and not predictableby the user. In some embodiments, the user may not select specific songsfor playback. In some embodiments, reporting happens automatically whenthe playback device returns to Internet connectivity.

Integration Process

In some embodiments, music stations are created based on a user's needs.In some embodiments, these stations may be defined by genre, bpm, orsomething else entirely. In some embodiments, a developmentconfiguration and a production configuration filled with demo music iscreated. In some embodiments, each configuration will have a set ofcredentials (a token and secret value) associated with it that is passedto the SDK to connect it to your music stations. In some embodiments,these credentials are made available to users via a developer login. Insome embodiments, it is recommended to configure the app to use thedevelopment credentials during development and testing, and use theproduction credentials with the released app. In some embodiments, it isrecommended to copy the player code into the app, add the token andsecret values, and wait for the music curation to be completed. In otherembodiments, when consideration integrating the SDK into the applicationand constructing the user interface, the following should be considered:(1) where do you display the required song metadata (title, artist,album)?; (2) what do you do if streaming music is not available due toconnectivity problems or geographic restrictions?; (3) metadata can beattached to each station—such as URLs to imagery, descriptive text,foreign keys, bpm information—do you need anything attached to yourstations?; (4) do you let users skip, like, and dislike songs, or justplay/pause?; (5) do you let users select stations, or do you choose forthe user?; (6) do you let users play music in the background while yourapp is not active?; (7) do you want to send events to the music playerso Feed.fm can perform analytics on user behavior with and withoutmusic? In some embodiments, when demo music in the station is replacedwith curated music, no code changes should be required.

Before Going Live

In some embodiments, before releasing the application to the public(e.g., publishing), the following may need to be completed: (1) confirmthe app functions properly when no Internet is available, or when theuser isn't eligible for music playback (recommend using a VPN to testineligibility); (2) confirm that users can see the current track title,artist, and album at least when the song starts; and (3) confirm thatusers can view the current track title, artist, and album at any time,or at least within one tap at any time.

Software Development Kits (SDKs), Calls Received by APIs that are Partof the SDK

In some embodiments, the SDK is a set of tools and documentation thattells developers how to use the platform. In some embodiments, the SDKprovides a singleton music player with play, pause, skip, like, dislikeand volume controls. In some embodiments, the player, uponinitialization, retrieves a list of available stations from the serversthat the player can pull music from. In some embodiments, a singlestation is the active station from which songs are retrieved forplayback. In some embodiments, the player generates and caches a randomunique client id that is sent with all network requests to trackplayback history and enforce playback restrictions. In some embodiments,the player can be commanded to play and pause music playback. In someembodiments, all calls to the player are asynchronous, so events areemitted that indicate when songs start, elapse, and complete playback.In some embodiments, once the music begins, there will always be acurrent song with associated metadata that can be displayed to the user.In some embodiments, calls to like and dislike inform the servers how auser feels about the current song. In some embodiments, calls arereceived by application programming interfaces (APIs) that are part ofthe SDK. In some embodiments, A skip command doesn't immediately skipthe current song, but rather a request is made to the server forpermission to skip the song. In some embodiments, if the skip isgranted, the current song will stop and the next will. In someembodiments, the player maintains a public state, which will be one ofthe following: (1) uninitialized: the player hasn't been given atoken/secret pair yet; (2) unavailable: music is not available to theuser for some reason; (3) ready to play: the player is idle and canbegin playback, but hasn't; (4) offline only: the player is idle andready to play, but only offline stations will currently work; (5)waiting for item: the player is waiting to be given a song to play; (6)stalled: the player is waiting for audio data for the current song (itis buffering); (7) playing: the player is actively playing a song; (8)paused: the player has paused playback; (9) requesting skip: the userhas asked to skip the current song, and the player is waiting forpermission from the servers to skip; or (10) complete: the player hasrun out of music to play in the active station and is now sitting idle.In some embodiments, playback commands and playback events function thesame, regardless of whether the active station is streaming radio,simulcast, on-demand, or offline. In some embodiments, on-demandstations make available a list of songs that can be shown to the userand passed to the player for playback. In some embodiments, the serversmay provide the player with a list of remote offline stations, which arestations available for download and offline playback. In someembodiments, the player may be asked to download a remote offlinestation, which results in a local offline station that is completelystored on the device and may be played even when no Internet connectionis available, just like any other station. In some embodiments, remoteoffline stations may be downloaded in full at once or partially overtime. Also, in some embodiments, the player may be asked to refresh thecontents of local offline stations with any newly available music.

Client Libraries

In some embodiments, binary SDKs are offered for various platforms thathandle basic audio playback and native device control integration. Insome embodiments, the user interface must be built, various supportingviews and controllers to assist are offered. In some embodiments, sourcecode for complete music player interfaces that make use of the SDKs andcan be pasted into an app or used as a model to help build a custominterface is offered.

In some embodiments, an iOS SDK/UIs are offered. In some embodiments,the iOS SDK is written in Objective-C and works on recent versions ofiOS and tvOS. In some embodiments, the library can be retrieved viaCocoaPods (pod FeedMedia in your Podfile), Carthage (GitHub“feedfm/iOS-SDK” in your Cartfile), or as a .framework file and headersfrom GitHub. In some embodiments, Appledocs are available for allversions including the latest version. In some embodiments, the iOS SDKdepends on the MarqueeLabel library for a marquee effect on longUILabels that show metadata. In some embodiments, the iOS SDK is kept upto date with all our latest features and handles integration with theiOS lock screen for background playback, if desired. In someembodiments, 2 fully functional music player interfaces available asXCode projects on GitHub are offered: (1) RadioPlayer, which isavailable at github.com/feedfm/iOS-RadioPlayer, implements a simple tabinterface to let the user switch between and control 2-3 streaming radiostations; and (2) RadioPlayer 2, which is available atgithub.com/feedfm/iOS-RadioPlayer-2, and supports any number of stations(by offering a page to list all available stations) and all ourdifferent station types (streaming, on demand, simulcast and offline).

In some embodiments, an Android SDK/UIs are available. In someembodiments, the Android SDK is written in Java, works back to API 16,and is compiled with the latest released Android API. In someembodiments, the SDK is available as an .aar via The Central Repositoryor from our GitHub Android SDK Release Page. In some embodiments, theSDK depends on Google's ExoPlayer for audio playback, as we've foundthat to work best in multiple environments. In some embodiments, becauseof changes in ExoPlayer's API and the difficulties involved in usingdifferent ExoPlayer versions at the same time, multiple versions of SDKare published, each linked to a different ExoPlayer version. In someembodiments, if a version of ExoPlayer that isn't currently published isbeing used, it can be added. In some embodiments, the Android SDK iskept up to date with all our latest features and handles integrationwith Android Notifications for lock screen playback control. In someembodiments, 2 fully functional music player interfaces available asAndroid Studio projects on GitHub: (1) RadioPlayer, which is availableat github.com/feedfm/AndroidSDK2-Radioplayer, implements a simple tabinterface to let the user switch between and control 2-3 streaming radiostations; and (2) RadioPlayer 2, is available atgithub.com/feedfm/AndroidSDK2-Radioplayer-2, and supports any number ofstations and all different station types (streaming, on-demand,simulcast and offline).

In some embodiments, a JavaScript SDK is offered. In some embodiments,JavaScript SDK powers music playback for websites. In some embodiments,this SDK does not have all the features of native SDKs, but it doessupport basic streaming and simulcast playback. In some embodiments, thelibrary is published via NPM as feed-media-audio-player. In someembodiments, the SDK makes use of the HTML Audio element, and has noexternal dependencies. In some embodiments, if a single stand-alone webpage with a music player or embed a small music player as an iframewithin a page is desired, a mixtape product is offered. In someembodiments, a mixtape is a URL pointing to a customized responsive webplayer that doesn't require any coding. In some embodiments, underlyingall our SDKs is a simple REST API.

In some embodiments, two fully functional native mobile music playersare offered for apps that want to integrate music as a mostlystand-alone feature and that don't want to invest a lot of time inbuilding a custom user interface from scratch. In some embodiments, thedifference between these two players is primarily in the number of musicstations that are supported. In some embodiments, the first music player(RadioPlayer) comprises a single screen that lets a user toggle between2-3 music stations. In some embodiments, the top of the screen is atabbed selector with a station name in each tab. In some embodiments,selecting a tab sets the active music station and begins music playback.In some embodiments, playback controls are available at the bottom ofthe screen. In some embodiments, music stations may have an imageassociated with them so when the user changes to a different station,the on-screen image changes as well. In some embodiments, the demoplayer assumes the background images are loaded from remote URLs, whichare provided to the client as station metadata. In some embodiments, thesecond music player (RadioPlayer 2) comprises two screens: one is a gridof music stations available for playback, and the other displays asingle music station and playback controls.

First Play Station

In some embodiments, a first play station is provided. In someembodiments, a first play station allows an efficient integration ofvalidated music into another software application. In some embodiments,the first play station comprises song selections that adhere tolicensing restrictions and requirements (both visual and playback). Insome embodiments, song plays are reported to artists and licensingagencies, and proper payment remittance is provided. In someembodiments, music usage, interaction (likes, dislikes, skips) andsession times (with and without music) are collected and reported. Insome embodiments, a team of music curators work to select the best musicfor a song catalog. In some embodiments, the song selections areregularly refreshed based on user data and client feedback. In someembodiments, the first play station is the result of a user selectingamongst a plurality of audio media and sequencing the audio media tocreate an ordered combination of audio media, wherein each audio mediain the ordered combination is validated.

Validating Audio Media

In some embodiments, audio media that is selected to be part of a firstplay station is validated. In some embodiments, audio media is validatedby confirming that the audio media conforms to local copyright rules(e.g., DMCA).

Timepoints

In some embodiments, the media creator is provided an interface thatallows the media creator to configure within an ordered combination ofaudio media an intro timepoint, an outro timepoint, or any combinationthereof. In some embodiments, the beginning of the ordered combinationof audio media and the intro timepoint comprises a warmup segment. Insome embodiments, the end of the intro timepoint and the beginning ofthe outro timepoint comprises the main segment. In some embodiments, thebeginning of the outro timepoint and the end of the ordered combinationof audio media comprises a cooldown segment. In some embodiments, whenan audio song reaches a timepoint, the song terminates and automaticallytransitions to the next song in the ordered combination. In someembodiments, a crossfade may be applied prior to transitioning from onesong in the ordered combination to the next. In some embodiments, thelength of the crossfade may be customized (e.g., 1 second, 2 seconds, 3seconds, 4 seconds, 5, seconds, 6 seconds, 7 seconds, 8 seconds, 9seconds, 10 seconds, etc.).

Generating at Least One Alteration to the Ordered Combination ofValidated Audio Media

In some embodiments, generating the at least one alteration to theordered combination of validated audio media comprises selecting one ormore alternate audio media based on similarity to a validated audiomedia with regard to at least one of the following characteristics:title, genre, bpm, tempo, artist, duration, language, record label,composer, date, media franchise, medium, awards, album, explicitlanguage, frequency range, or frequency distribution. In someembodiments, the alternate audio media and the validated audio media arewithin about 5 bpm, 10 bpm, 15, bpm, 20 bpm, 25 bpm, 30 bpm, 35 bpm, 40bpm, 45 bpm, or 50 bpm. In some embodiments, the alternate audio mediaand the validated audio media are within about 99% same duration, 98%same duration, 97% same duration, 96% same duration, 95% same duration,or 90% same duration. In some embodiments, the alternate audio media andthe validated audio media are within about 99% same frequency range, 98%same frequency range, 97% same frequency range, 96% same frequencyrange, 95% same frequency range, or 90% same frequency range. In someembodiments, the alternate audio media and the validated audio media arewithin about 99% same frequency distribution, 98% same frequencydistribution, 97% same frequency distribution, 96% same frequencydistribution, 95% same frequency distribution, or 90% same frequencydistribution. In some embodiments, the alteration to the orderedcombination of validated audio media comprises playing the same songs inthe combination, but in a different order (e.g., playing Song A, Song B,Song C, and Song D versus playing Song A, Song B, Song D, and Song C).In some embodiments, the alteration to the ordered combination ofvalidated audio media comprises swapping out a song in the orderedcombination with a different song with a similar title, genre, bpm,tempo, artist, duration, language, record label, composer, date, mediafranchise, medium, awards, album, explicit language, frequency range, orfrequency distribution (e.g., playing Song A (100 bpm), Song B (110bpm), Song C (70 bpm), and Song D (75 bpm) versus playing Song E (105bpm), Song F (105 bpm), Song G (70 bpm), and Song H (75 bpm)).

Computing System

Referring to FIG. 6, a block diagram is shown depicting an exemplarymachine that includes a computer system 600 (e.g., a processing orcomputing system) within which a set of instructions can execute forcausing a device to perform or execute any one or more of the aspectsand/or methodologies for static code scheduling of the presentdisclosure. The components in FIG. 6 are examples only and do not limitthe scope of use or functionality of any hardware, software, embeddedlogic component, or a combination of two or more such componentsimplementing particular embodiments.

Computer system 600 may include one or more processors 601, a memory603, and a storage 608 that communicate with each other, and with othercomponents, via a bus 640. The bus 640 may also link a display 632, oneor more input devices 633 (which may, for example, include a keypad, akeyboard, a mouse, a stylus, etc.), one or more output devices 134, oneor more storage devices 635, and various tangible storage media 636. Allof these elements may interface directly or via one or more interfacesor adaptors to the bus 640. For instance, the various tangible storagemedia 636 can interface with the bus 640 via storage medium interface626. Computer system 600 may have any suitable physical form, includingbut not limited to one or more integrated circuits (ICs), printedcircuit boards (PCBs), mobile handheld devices (such as mobiletelephones or PDAs), laptop or notebook computers, distributed computersystems, computing grids, or servers.

Computer system 600 includes one or more processor(s) 601 (e.g., centralprocessing units (CPUs) or general purpose graphics processing units(GPGPUs)) that carry out functions. Processor(s) 601 optionally containsa cache memory unit 602 for temporary local storage of instructions,data, or computer addresses. Processor(s) 601 are configured to assistin execution of computer readable instructions. Computer system 600 mayprovide functionality for the components depicted in FIG. 6 as a resultof the processor(s) 601 executing non-transitory, processor-executableinstructions embodied in one or more tangible computer-readable storagemedia, such as memory 603, storage 608, storage devices 635, and/orstorage medium 636. The computer-readable media may store software thatimplements particular embodiments, and processor(s) 601 may execute thesoftware. Memory 603 may read the software from one or more othercomputer-readable media (such as mass storage device(s) 635, 636) orfrom one or more other sources through a suitable interface, such asnetwork interface 620. The software may cause processor(s) 601 to carryout one or more processes or one or more steps of one or more processesdescribed or illustrated herein. Carrying out such processes or stepsmay include defining data structures stored in memory 603 and modifyingthe data structures as directed by the software.

The memory 603 may include various components (e.g., machine readablemedia) including, but not limited to, a random access memory component(e.g., RAM 604) (e.g., static RAM (SRAM), dynamic RAM (DRAM),ferroelectric random access memory (FRAM), phase-change random accessmemory (PRAM), etc.), a read-only memory component (e.g., ROM 605), andany combinations thereof. ROM 605 may act to communicate data andinstructions unidirectionally to processor(s) 601, and RAM 604 may actto communicate data and instructions bidirectionally with processor(s)601. ROM 605 and RAM 604 may include any suitable tangiblecomputer-readable media described below. In one example, a basicinput/output system 606 (BIOS), including basic routines that help totransfer information between elements within computer system 600, suchas during start-up, may be stored in the memory 603.

Fixed storage 608 is connected bidirectionally to processor(s) 601,optionally through storage control unit 607. Fixed storage 608 providesadditional data storage capacity and may also include any suitabletangible computer-readable media described herein. Storage 608 may beused to store operating system 609, executable(s) 610, data 611,applications 612 (application programs), and the like. Storage 608 canalso include an optical disk drive, a solid-state memory device (e.g.,flash-based systems), or a combination of any of the above. Informationin storage 608 may, in appropriate cases, be incorporated as virtualmemory in memory 603.

In one example, storage device(s) 635 may be removably interfaced withcomputer system 600 (e.g., via an external port connector (not shown))via a storage device interface 625. Particularly, storage device(s) 635and an associated machine-readable medium may provide non-volatileand/or volatile storage of machine-readable instructions, datastructures, program modules, and/or other data for the computer system600. In one example, software may reside, completely or partially,within a machine-readable medium on storage device(s) 635. In anotherexample, software may reside, completely or partially, withinprocessor(s) 601.

Bus 640 connects a wide variety of subsystems. Herein, reference to abus may encompass one or more digital signal lines serving a commonfunction, where appropriate. Bus 640 may be any of several types of busstructures including, but not limited to, a memory bus, a memorycontroller, a peripheral bus, a local bus, and any combinations thereof,using any of a variety of bus architectures. As an example and not byway of limitation, such architectures include an Industry StandardArchitecture (ISA) bus, an Enhanced ISA (EISA) bus, a Micro ChannelArchitecture (MCA) bus, a Video Electronics Standards Association localbus (VLB), a Peripheral Component Interconnect (PCI) bus, a PCI-Express(PCI-X) bus, an Accelerated Graphics Port (AGP) bus, HyperTransport(HTX) bus, serial advanced technology attachment (SATA) bus, and anycombinations thereof.

Computer system 600 may also include an input device 633. In oneexample, a user of computer system 600 may enter commands and/or otherinformation into computer system 600 via input device(s) 633. Examplesof an input device(s) 633 include, but are not limited to, analpha-numeric input device (e.g., a keyboard), a pointing device (e.g.,a mouse or touchpad), a touchpad, a touch screen, a multi-touch screen,a joystick, a stylus, a gamepad, an audio input device (e.g., amicrophone, a voice response system, etc.), an optical scanner, a videoor still image capture device (e.g., a camera), and any combinationsthereof. In some embodiments, the input device is a Kinect, Leap Motion,or the like. Input device(s) 633 may be interfaced to bus 640 via any ofa variety of input interfaces 623 (e.g., input interface 623) including,but not limited to, serial, parallel, game port, USB, FIREWIRE,THUNDERBOLT, or any combination of the above.

In particular embodiments, when computer system 600 is connected tonetwork 630, computer system 600 may communicate with other devices,specifically mobile devices and enterprise systems, distributedcomputing systems, cloud storage systems, cloud computing systems, andthe like, connected to network 630. Communications to and from computersystem 600 may be sent through network interface 620. For example,network interface 620 may receive incoming communications (such asrequests or responses from other devices) in the form of one or morepackets (such as Internet Protocol (IP) packets) from network 630, andcomputer system 600 may store the incoming communications in memory 603for processing. Computer system 600 may similarly store outgoingcommunications (such as requests or responses to other devices) in theform of one or more packets in memory 603 and communicated to network630 from network interface 620. Processor(s) 601 may access thesecommunication packets stored in memory 603 for processing.

Examples of the network interface 620 include, but are not limited to, anetwork interface card, a modem, and any combination thereof. Examplesof a network 630 or network segment 630 include, but are not limited to,a distributed computing system, a cloud computing system, a wide areanetwork (WAN) (e.g., the Internet, an enterprise network), a local areanetwork (LAN) (e.g., a network associated with an office, a building, acampus or other relatively small geographic space), a telephone network,a direct connection between two computing devices, a peer-to-peernetwork, and any combinations thereof. A network, such as network 630,may employ a wired and/or a wireless mode of communication. In general,any network topology may be used.

Information and data can be displayed through a display 632. Examples ofa display 632 include, but are not limited to, a cathode ray tube (CRT),a liquid crystal display (LCD), a thin film transistor liquid crystaldisplay (TFT-LCD), an organic liquid crystal display (OLED) such as apassive-matrix OLED (PMOLED) or active-matrix OLED (AMOLED) display, aplasma display, and any combinations thereof. The display 632 caninterface to the processor(s) 601, memory 603, and fixed storage 608, aswell as other devices, such as input device(s) 633, via the bus 640. Thedisplay 632 is linked to the bus 640 via a video interface 622, andtransport of data between the display 632 and the bus 640 can becontrolled via the graphics control 621. In some embodiments, thedisplay is a video projector. In some embodiments, the display is ahead-mounted display (HMD) such as a VR headset. In further embodiments,suitable VR headsets include, by way of non-limiting examples, HTC Vive,Oculus Rift, Samsung Gear VR, Microsoft HoloLens, Razer OSVR, FOVE VR,Zeiss VR One, Avegant Glyph, Freefly VR headset, and the like. In stillfurther embodiments, the display is a combination of devices such asthose disclosed herein.

In addition to a display 632, computer system 600 may include one ormore other peripheral output devices 634 including, but not limited to,an audio speaker, a printer, a storage device, and any combinationsthereof. Such peripheral output devices may be connected to the bus 640via an output interface 624. Examples of an output interface 624include, but are not limited to, a serial port, a parallel connection, aUSB port, a FIREWIRE port, a THUNDERBOLT port, and any combinationsthereof.

In addition, or as an alternative, computer system 600 may providefunctionality as a result of logic hardwired or otherwise embodied in acircuit, which may operate in place of or together with software toexecute one or more processes or one or more steps of one or moreprocesses described or illustrated herein. Reference to software in thisdisclosure may encompass logic, and reference to logic may encompasssoftware. Moreover, reference to a computer-readable medium mayencompass a circuit (such as an IC) storing software for execution, acircuit embodying logic for execution, or both, where appropriate. Thepresent disclosure encompasses any suitable combination of hardware,software, or both.

Those of skill in the art will appreciate that the various illustrativelogical blocks, modules, circuits, and algorithm steps described inconnection with the embodiments disclosed herein may be implemented aselectronic hardware, computer software, or combinations of both. Toclearly illustrate this interchangeability of hardware and software,various illustrative components, blocks, modules, circuits, and stepshave been described above generally in terms of their functionality.

The various illustrative logical blocks, modules, and circuits describedin connection with the embodiments disclosed herein may be implementedor performed with a general purpose processor, a digital signalprocessor (DSP), an application specific integrated circuit (ASIC), afield programmable gate array (FPGA) or other programmable logic device,discrete gate or transistor logic, discrete hardware components, or anycombination thereof designed to perform the functions described herein.A general purpose processor may be a microprocessor, but in thealternative, the processor may be any conventional processor,controller, microcontroller, or state machine. A processor may also beimplemented as a combination of computing devices, e.g., a combinationof a DSP and a microprocessor, a plurality of microprocessors, one ormore microprocessors in conjunction with a DSP core, or any other suchconfiguration.

The steps of a method or algorithm described in connection with theembodiments disclosed herein may be embodied directly in hardware, in asoftware module executed by one or more processor(s), or in acombination of the two. A software module may reside in RAM memory,flash memory, ROM memory, EPROM memory, EEPROM memory, registers, harddisk, a removable disk, a CD-ROM, or any other form of storage mediumknown in the art. An exemplary storage medium is coupled to theprocessor such the processor can read information from, and writeinformation to, the storage medium. In the alternative, the storagemedium may be integral to the processor. The processor and the storagemedium may reside in an ASIC. The ASIC may reside in a user terminal. Inthe alternative, the processor and the storage medium may reside asdiscrete components in a user terminal.

In accordance with the description herein, suitable computing devicesinclude, by way of non-limiting examples, server computers, desktopcomputers, laptop computers, notebook computers, sub-notebook computers,netbook computers, netpad computers, set-top computers, media streamingdevices, handheld computers, Internet appliances, mobile smartphones,tablet computers, personal digital assistants, video game consoles, andvehicles. Those of skill in the art will also recognize that selecttelevisions, video players, and digital music players with optionalcomputer network connectivity are suitable for use in the systemdescribed herein. Suitable tablet computers, in various embodiments,include those with booklet, slate, and convertible configurations, knownto those of skill in the art.

In some embodiments, the computing device includes an operating systemconfigured to perform executable instructions. The operating system is,for example, software, including programs and data, which manages thedevice's hardware and provides services for execution of applications.Those of skill in the art will recognize that suitable server operatingsystems include, by way of non-limiting examples, FreeBSD, OpenBSD,NetBSD®, Linux, Apple® Mac OS X Server®, Oracle® Solaris®, WindowsServer®, and Novell® NetWare®. Those of skill in the art will recognizethat suitable personal computer operating systems include, by way ofnon-limiting examples, Microsoft® Windows®, Apple® Mac OS X®, UNIX®, andUNIX-like operating systems such as GNU/Linux. In some embodiments, theoperating system is provided by cloud computing. Those of skill in theart will also recognize that suitable mobile smartphone operatingsystems include, by way of non-limiting examples, Nokia® Symbian® OS,Apple® iOS®, Research in Motion® BlackBerry OS®, Google® Android®,Microsoft® Windows Phone® OS, Microsoft® Windows Mobile® OS, Linux®, andPalm® WebOS®. Those of skill in the art will also recognize thatsuitable media streaming device operating systems include, by way ofnon-limiting examples, Apple TV®, Roku®, Boxee®, Google TV®, GoogleChromecast®, Amazon Fire®, and Samsung® HomeSync®. Those of skill in theart will also recognize that suitable video game console operatingsystems include, by way of non-limiting examples, Sony® PS3®, Sony®PS4®, Microsoft® Xbox 360®, Microsoft Xbox One, Nintendo® Wii Nintendo®Wii U and Ouya®.

Non-Transitory Computer Readable Storage Medium

In some embodiments, the platforms, systems, media, and methodsdisclosed herein include one or more non-transitory computer readablestorage media encoded with a program including instructions executableby the operating system of an optionally networked computing device. Infurther embodiments, a computer readable storage medium is a tangiblecomponent of a computing device. In still further embodiments, acomputer readable storage medium is optionally removable from acomputing device. In some embodiments, a computer readable storagemedium includes, by way of non-limiting examples, CD-ROMs, DVDs, flashmemory devices, solid state memory, magnetic disk drives, magnetic tapedrives, optical disk drives, distributed computing systems includingcloud computing systems and services, and the like. In some cases, theprogram and instructions are permanently, substantially permanently,semi-permanently, or non-transitorily encoded on the media.

Computer Program

In some embodiments, the platforms, systems, media, and methodsdisclosed herein include at least one computer program, or use of thesame. A computer program includes a sequence of instructions, executableby one or more processor(s) of the computing device's CPU, written toperform a specified task. Computer readable instructions may beimplemented as program modules, such as functions, objects, ApplicationProgramming Interfaces (APIs), computing data structures, and the like,that perform particular tasks or implement particular abstract datatypes. In light of the disclosure provided herein, those of skill in theart will recognize that a computer program may be written in variousversions of various languages.

The functionality of the computer readable instructions may be combinedor distributed as desired in various environments. In some embodiments,a computer program comprises one sequence of instructions. In someembodiments, a computer program comprises a plurality of sequences ofinstructions. In some embodiments, a computer program is provided fromone location. In other embodiments, a computer program is provided froma plurality of locations. In various embodiments, a computer programincludes one or more software modules. In various embodiments, acomputer program includes, in part or in whole, one or more webapplications, one or more mobile applications, one or more standaloneapplications, one or more web browser plug-ins, extensions, add-ins, oradd-ons, or combinations thereof.

Web Application

In some embodiments, a computer program includes a web application. Inlight of the disclosure provided herein, those of skill in the art willrecognize that a web application, in various embodiments, utilizes oneor more software frameworks and one or more database systems. In someembodiments, a web application is created upon a software framework suchas Microsoft® .NET or Ruby on Rails (RoR). In some embodiments, a webapplication utilizes one or more database systems including, by way ofnon-limiting examples, relational, non-relational, object oriented,associative, and XML database systems. In further embodiments, suitablerelational database systems include, by way of non-limiting examples,Microsoft® SQL Server, mySQL™, and Oracle®. Those of skill in the artwill also recognize that a web application, in various embodiments, iswritten in one or more versions of one or more languages. A webapplication may be written in one or more markup languages, presentationdefinition languages, client-side scripting languages, server-sidecoding languages, database query languages, or combinations thereof. Insome embodiments, a web application is written to some extent in amarkup language such as Hypertext Markup Language (HTML), ExtensibleHypertext Markup Language (XHTML), or eXtensible Markup Language (XML).In some embodiments, a web application is written to some extent in apresentation definition language such as Cascading Style Sheets (CSS).In some embodiments, a web application is written to some extent in aclient-side scripting language such as Asynchronous JavaScript and XML(AJAX), Flash® ActionScript, JavaScript, or Silverlight. In someembodiments, a web application is written to some extent in aserver-side coding language such as Active Server Pages (ASP),ColdFusion®, Perl, Java™, JavaServer Pages (JSP), Hypertext Preprocessor(PHP), Python™, Ruby, Tcl, Smalltalk, WebDNA®, or Groovy. In someembodiments, a web application is written to some extent in a databasequery language such as Structured Query Language (SQL). In someembodiments, a web application integrates enterprise server productssuch as IBM® Lotus Domino®. In some embodiments, a web applicationincludes a media player element. In various further embodiments, a mediaplayer element utilizes one or more of many suitable multimediatechnologies including, by way of non-limiting examples, Adobe® Flash®,HTML 5, Apple® QuickTime®, Microsoft® Silverlight®, Java™, and Unity®.

Referring to FIG. 7, in a particular embodiment, an applicationprovision system comprises one or more databases 700 accessed by arelational database management system (RDBMS) 710. Suitable RDBMSsinclude Firebird, MySQL, PostgreSQL, SQLite, Oracle Database, MicrosoftSQL Server, IBM DB2, IBM Informix, SAP Sybase, SAP Sybase, Teradata, andthe like. In this embodiment, the application provision system furthercomprises one or more application severs 720 (such as Java servers, .NETservers, PHP servers, and the like) and one or more web servers 730(such as Apache, IIS, GWS and the like). The web server(s) optionallyexpose one or more web services via app application programminginterfaces (APIs) 740. Via a network, such as the Internet, the systemprovides browser-based and/or mobile native user interfaces.

Referring to FIG. 8, in a particular embodiment, an applicationprovision system alternatively has a distributed, cloud-basedarchitecture 800 and comprises elastically load balanced, auto-scalingweb server resources 810 and application server resources 820 as wellsynchronously replicated databases 830.

Mobile Application

In some embodiments, a computer program includes a mobile applicationprovided to a mobile computing device. In some embodiments, the mobileapplication is provided to a mobile computing device at the time it ismanufactured. In other embodiments, the mobile application is providedto a mobile computing device via the computer network described herein.

In view of the disclosure provided herein, a mobile application iscreated by techniques known to those of skill in the art using hardware,languages, and development environments known to the art. Those of skillin the art will recognize that mobile applications are written inseveral languages. Suitable programming languages include, by way ofnon-limiting examples, C, C++, C #, Objective-C, Java™, JavaScript,Pascal, Object Pascal, Python™, Ruby, VB.NET, WML, and XHTML/HTML withor without CSS, or combinations thereof.

Suitable mobile application development environments are available fromseveral sources. Commercially available development environmentsinclude, by way of non-limiting examples, AirplaySDK, alcheMo,Appcelerator®, Celsius, Bedrock, Flash Lite, .NET Compact Framework,Rhomobile, and WorkLight Mobile Platform. Other development environmentsare available without cost including, by way of non-limiting examples,Lazarus, MobiFlex, MoSync, and Phonegap. Also, mobile devicemanufacturers distribute software developer kits including, by way ofnon-limiting examples, iPhone and iPad (iOS) SDK, Android™ SDK,BlackBerry® SDK, BREW SDK, Palm® OS SDK, Symbian SDK, webOS SDK, andWindows® Mobile SDK.

Those of skill in the art will recognize that several commercial forumsare available for distribution of mobile applications including, by wayof non-limiting examples, Apple® App Store, Google® Play, ChromeWebStore, BlackBerry® App World, App Store for Palm devices, App Catalogfor webOS, Windows® Marketplace for Mobile, Ovi Store for Nokia®devices, Samsung® Apps, and Nintendo® DSi Shop.

Standalone Application

In some embodiments, a computer program includes a standaloneapplication, which is a program that is run as an independent computerprocess, not an add-on to an existing process, e.g., not a plug-in.Those of skill in the art will recognize that standalone applicationsare often compiled. A compiler is a computer program(s) that transformssource code written in a programming language into binary object codesuch as assembly language or machine code. Suitable compiled programminglanguages include, by way of non-limiting examples, C, C++, Objective-C,COBOL, Delphi, Eiffel, Java™, Lisp, Python™, Visual Basic, and VB .NET,or combinations thereof. Compilation is often performed, at least inpart, to create an executable program. In some embodiments, a computerprogram includes one or more executable complied applications.

Web Browser Plug-in

In some embodiments, the computer program includes a web browser plug-in(e.g., extension, etc.). In computing, a plug-in is one or more softwarecomponents that add specific functionality to a larger softwareapplication. Makers of software applications support plug-ins to enablethird-party developers to create abilities which extend an application,to support easily adding new features, and to reduce the size of anapplication. When supported, plug-ins enable customizing thefunctionality of a software application. For example, plug-ins arecommonly used in web browsers to play video, generate interactivity,scan for viruses, and display particular file types. Those of skill inthe art will be familiar with several web browser plug-ins including,Adobe® Flash® Player, Microsoft® Silverlight®, and Apple® QuickTime®. Insome embodiments, the toolbar comprises one or more web browserextensions, add-ins, or add-ons. In some embodiments, the toolbarcomprises one or more explorer bars, tool bands, or desk bands.

In view of the disclosure provided herein, those of skill in the artwill recognize that several plug-in frameworks are available that enabledevelopment of plug-ins in various programming languages, including, byway of non-limiting examples, C++, Delphi, Java™, PHP, Python™, and VB.NET, or combinations thereof.

Web browsers (also called Internet browsers) are software applications,designed for use with network-connected computing devices, forretrieving, presenting, and traversing information resources on theWorld Wide Web. Suitable web browsers include, by way of non-limitingexamples, Microsoft® Internet Explorer®, Mozilla® Firefox, Google®Chrome, Apple® Safari®, Opera Software® Opera®, and KDE Konqueror. Insome embodiments, the web browser is a mobile web browser. Mobile webbrowsers (also called microbrowsers, mini-browsers, and wirelessbrowsers) are designed for use on mobile computing devices including, byway of non-limiting examples, handheld computers, tablet computers,netbook computers, subnotebook computers, smartphones, music players,personal digital assistants (PDAs), and handheld video game systems.Suitable mobile web browsers include, by way of non-limiting examples,Google® Android® browser, RIM BlackBerry® Browser, Apple® Safari®, Palm®Blazer, Palm® WebOS® Browser, Mozilla® Firefox® for mobile, Microsoft®Internet Explorer® Mobile, Amazon® Kindle® Basic Web, Nokia® Browser,Opera Software® Opera® Mobile, and Sony® PSP™ browser.

Software Modules

In some embodiments, the platforms, systems, media, and methodsdisclosed herein include software, server, and/or database modules, oruse of the same. In view of the disclosure provided herein, softwaremodules are created by techniques known to those of skill in the artusing machines, software, and languages known to the art. The softwaremodules disclosed herein are implemented in a multitude of ways. Invarious embodiments, a software module comprises a file, a section ofcode, a programming object, a programming structure, or combinationsthereof. In further various embodiments, a software module comprises aplurality of files, a plurality of sections of code, a plurality ofprogramming objects, a plurality of programming structures, orcombinations thereof. In various embodiments, the one or more softwaremodules comprise, by way of non-limiting examples, a web application, amobile application, and a standalone application. In some embodiments,software modules are in one computer program or application. In otherembodiments, software modules are in more than one computer program orapplication. In some embodiments, software modules are hosted on onemachine. In other embodiments, software modules are hosted on more thanone machine. In further embodiments, software modules are hosted on adistributed computing platform such as a cloud computing platform. Insome embodiments, software modules are hosted on one or more machines inone location. In other embodiments, software modules are hosted on oneor more machines in more than one location.

Databases

In some embodiments, the platforms, systems, media, and methodsdisclosed herein include one or more databases, or use of the same. Inview of the disclosure provided herein, those of skill in the art willrecognize that many databases are suitable for storage and retrieval ofinformation. In various embodiments, suitable databases include, by wayof non-limiting examples, relational databases, non-relationaldatabases, object oriented databases, object databases,entity-relationship model databases, associative databases, and XMLdatabases. Further non-limiting examples include SQL, PostgreSQL, MySQL,Oracle, DB2, and Sybase. In some embodiments, a database isinternet-based. In further embodiments, a database is web-based. Instill further embodiments, a database is cloud computing-based. In aparticular embodiment, a database is a distributed database. In otherembodiments, a database is based on one or more local computer storagedevices.

EXAMPLES

The following illustrative examples are representative of embodiments ofthe software applications, systems, and methods described herein and arenot meant to be limiting in any way.

Example 1—Creating and Playing a First Play Station for a StreamingWorkout Video

Arnold is a fitness instructor. Arnold wants to create a non-interactivemusic playlist that aligns with his 17-minute workout video and thatalso follows proper licensing rules for the music to be used during hisworkout video. Arnold's 17-minute workout video would have a warmupsegment, a main workout segment, and a cooldown segment. For the warm-upsection, Arnold wants music with a medium tempo, enough to get hisparticipants motivated, but not too excited prior to the main workoutsegment. For the main workout segment, Arnold wants music with a hightempo—a mix of hip-hop and rap. For the cooldown segment, Arnold wantsmusic with a slower tempo—songs with less than 90 beats per minute(bpm).

To create his music playlist, Arnold accesses a website that offers aStation Builder Web interface, which presents Arnold a variety of audiomedia selections to choose from. At the outset, Arnold inputs the titleof his station “Arnold's Awesome Workout Mix” into a section in theStation Builder Web interface that is configured to receive the title orlabel of a user's station. Arnold then proceeds to input that he wouldlike the warmup segment to be “3:00” and the main segment to be “10:00.”Songs that exceed the total 13 minute duration are by default configuredto be the songs to be played during the cooldown segment. He also notesthat he wants a crossfade time of 6 seconds.

Next, Arnold goes through making his audio media selections. Arnold isable to search for specific songs and filter for songs that haveexplicit language. Arnold doesn't mind including explicit language inhis playlist, so he includes that option. The Station Builder Webinterface lists numerous song options, including the name of the artist,the album in which the song came from, and the duration of each song.For the warmup segment, Arnold selects Song A (1 minute, 50 seconds) andSong B (2 minutes, 45 seconds)—both have between 90 bpm and 110 bpm. Forthe main workout segment, Arnold selects Song C (3 minutes), Song D (2minutes, 30 seconds), Song E (1 minute, 45 seconds), Song F (2 minutes10 seconds), and Song G (3 minutes, 40 seconds). For the cooldownsegment, Arnold selects Song H (2 minute, 20 seconds) and Song I (1minute, 50 seconds). Each of these song selections are listed top-downin chronological order (Songs A-I) on the right side of the StationBuilder Web interface, listing the song title and duration. Once aparticular segment (e.g., warmup, main) ends, the intended playlist willcrossfade out of the song playing at the moment and start playing thenext song on the list.

Arnold is able to easily distinguish which songs are to be played duringwhich segment of his workout video because different songs arecolor-coded depending on which segment the songs fall within. Here,Songs A and B are color-coded in orange because they fall within the3-minute timepoint Arnold designated for the warmup. Songs C through Gare color-coded white because they fall within the 11-minute timepointArnold designated for the main segment. Songs H and I are color-codedlavender because they fall within the 4-minute cooldown. In addition,beneath each selected song, Arnold is able to see the total duration ofelapsed time in the proposed playlist, the crossfade between songs,and—when applicable—when the warmup or main section will end. Forexample, underneath selected Song B displayed on the right-hand side ofthe Station Builder Web interface, Arnold is able to see that the warmupperiod will end, and Song B will stop playing at a total duration of 2minutes, 54 seconds (accounting for the 6 seconds of crossfade time).Underneath selected Song C displayed on the right-hand side of theStation Builder Web interface, Arnold is able to see the total durationplayed at the end of Song C will be 6 minutes (3 minutes of total Song Cplaying along with the 3 minutes of warmup time).

After every song selection is made and requested, DMCA compliance foreach song is made. If a determination is made that the selected songis—for some reason—in violation of a DMCA playback rule or some otherapplicable copyright rule, the user is prompted to edit their songselection (e.g., remove the song from the initial ordered combination).After all the songs are determined to be DMCA compliant the list ofsongs is finalized, Arnold requests that the station be constructed.After the station is constructed, the station is sent to Arnold for himto listen to alone to confirm that the station was properly constructed.Arnold is able to listen to this station for as many times as he wantsin the order that he selected to confirm that the station was properlyconstructed. Once Arnold is satisfied with the construction of the songstation, Arnold confirms the creation and publication of the station toa Feed.fm platform. Arnold then proceeds to record himself doing achoreographed, 17-minute workout video, keeping in mind the order ofsongs he had just completed creating and matching the movements andinstructions within his choreographed workout video to match the styleof the different song selections in his station (e.g., doing medium pacewarmup exercises during the first three minutes, doing fast pacedexercises during the next ten minutes representative of the mainsegment, and doing a slow paced set of exercises during the final fourminutes to match the cooldown segment; shouting encouragement,explaining exercises, raising or lower his voice to match theappropriate segment and timing). Once Arnold is satisfied, Arnold thenpublishes online his 17-minute workout video onto a third-partyapplication while Arnold's finalized first play station is publishedonto a separate the Feed.fm platform.

Jane is a fitness client of Arnold's and wants to exercise from home.She opens her Android phone, accesses her third-party application, andis able to stream Arnold's published 17-minute workout video via thisthird-party application. Jane proceeds to watch the workout video in itsentirety and is able to hear Songs A through I in that order as Janewatches and works out with the video for the very first time. The momentJane presses “play” to start Arnold's 17-minute workout video, the SDKin Jane's third-party application of Jane's Android calls the API in theFeed.fm platform to simultaneously begin playing the start of Arnold'sfinalized first play station. As a result, the start of Arnold's17-minute workout video playing on Jane's third-party application ofJane's Android is perfectly paired with the songs being played fromFeed.fm platform (e.g., the first three minutes of Arnold's 17-minuteworkout video perfectly corresponds and matches with the first threeminutes of Arnold's finalized first play station). The moment Janepresses “pause” to pause Arnold's 17-minute workout video, the SDK inJane's third-party application of Jane's Android calls the API in theFeed.fm platform to simultaneously pause Arnold's finalized first playstation, resulting in the pairing of the first play station and theworkout video to remain consistent throughout the entire first play.

A few days later, Jane wants to workout at home using the same 17-minutevideo Arnold published. However, the second time Jane streams and playsthrough the video with her phone, Jane notices that the music overlaidover the workout video was no longer overlaid in the exact orderedcombination as the first time she watched the workout video. Instead,she noticed that the warmup section (which was still 3 minutes long)instead was intentionally shuffled and played Song B first, then Song A(instead of the original A and B) before transitioning to the mainsegment. A third time Jane streams the video with her phone, thecooldown segment (which still started 13 minutes into the 17-minuteworkout video) was intentionally shuffled and played new Songs Y and Z(songs that Arnold had not even seen or selected when creating theoriginal first play station, but has a similar bpm under 90 like Songs Hand I) instead of Songs H and I. Every single time Jane streams andplays through Arnold's 17-minute workout video, the music overlaid overthe workout video is different from any combination of music Jane haspreviously heard in past streams, complying with the appropriate DMCAplayback rules. This is because, in some embodiments, the intelligentshuffle feature of the claimed subject matter generates at least onealteration to the ordered combination of Songs A-I after Jane's initialplay.

While preferred embodiments of the present invention have been shown anddescribed herein, it will be obvious to those skilled in the art thatsuch embodiments are provided by way of example only. Numerousvariations, changes, and substitutions will now occur to those skilledin the art without departing from the invention. It should be understoodthat various alternatives to the embodiments of the invention describedherein may be employed in practicing the invention.

What is claimed is:
 1. A platform comprising: a) at least one servercomprising at least one processor configured to perform operationscomprising: i. provide a first user interface allowing a media creatorto select a plurality of audio media and sequence the selected audiomedia to create an ordered combination of audio media and request afirst play station; ii. validate each audio media in the orderedcombination to create a first play station, wherein validating audiomedia comprises checking compliance with copyright playback rules orlicensing restrictions, wherein the first play station comprises a firstplay station play time length; iii. publish the first play station; andiv. generate at least one alteration to the ordered combination ofvalidated audio media, wherein the at least one alteration is selectedfrom the group consisting of: an alternate validated audio media, analternate sequence of the ordered combination of validated audio media,or a combination thereof, wherein the at least one alteration to theordered combination of validated audio media is based on compliance withcopyright playback rules or licensing requirements, wherein everygenerated altered combination of validated audio media comprises a totalplay time length that is the same as the first play station play timelength; and b) at least one end user device comprising at least oneprocessor configured to perform operations comprising: provide a thirdparty player application allowing an end user to play a video; wherein astart of the video triggers a call to start the published first playstation; wherein in an initial play by the end user the published firstplay station consists of the ordered combination of validated audiomedia; and wherein in each subsequent play by the end user the publishedfirst play station comprises the at least one alteration to the orderedcombination of validated audio media, wherein the at least onealteration to the ordered combination of validated audio media is basedon compliance with copyright playback rules or licensing requirements,wherein each altered combination of validated audio media comprises atotal play time that is the same as the first play station play time. 2.The platform of claim 1, wherein the first user interface further allowsthe media creator to select audio media based on at least one of: title,genre, beats per minute (bpm), tempo, artist, duration, language, recordlabel, composer, date, media franchise, medium, awards, album, explicitlanguage, loudness, intensity, energy, live version, and remix.
 3. Theplatform of claim 1, wherein the first user interface further allows themedia creator to configure a crossfade time for one or more validatedaudio media.
 4. The platform of claim 1, wherein publishing the videocomprises streaming the video to one or more end user devices.
 5. Theplatform of claim 1, wherein the alternate validated audio media isdifferent from the validated audio media.
 6. The platform of claim 5,wherein generating the at least one alteration to the orderedcombination of validated audio media comprises selecting one or morealternate audio media based on similarity to a validated audio mediawith regard to at least one of the following characteristics: title,genre, bpm, tempo, artist, duration, language, record label, composer,date, media franchise, medium, awards, album, explicit language, liveversion, remix, frequency range, and frequency distribution.
 7. Theplatform of claim 6, wherein the alternate audio media and the validatedaudio media are within 5 bpm, 10 bpm, 15, bpm, 20 bpm, 25 bpm, 30 bpm,35 bpm, 40 bpm, 45 bpm, or 50 bpm.
 8. The platform of claim 6, whereinthe alternate audio media and the validated audio media are within 99%same duration, 98% same duration, 97% same duration, 96% same duration,95% same duration, or 90% same duration.
 9. The platform of claim 6,wherein the alternate audio media and the validated audio media arewithin 99% same frequency range, 98% same frequency range, 97% samefrequency range, 96% same frequency range, 95% same frequency range, or90% same frequency range.
 10. The platform of claim 6, wherein thealternate audio media and the validated audio media are within 99% samefrequency distribution, 98% same frequency distribution, 97% samefrequency distribution, 96% same frequency distribution, 95% samefrequency distribution, or 90% same frequency distribution.
 11. Theplatform of claim 1, wherein the first user interface further displays arunning tally of the ordered combination of audio media after everyselected audio media.
 12. The platform of claim 1, wherein the firstuser interface allows the media creator to designate an intro timepointwithin the ordered combination of audio media, wherein when the firstplay station reaches a designated intro timepoint in the initial play,the first play station automatically trims a current validated audiomedia in the ordered combination of validated media and crossfades to anext validated audio media in the ordered combination of validatedmedia.
 13. The platform of claim 12, wherein designating the introtimepoint within the ordered combination of audio media automaticallydesignates an identical intro timepoint within every generated alteredcombination of validated audio media, wherein when the first playstation reaches the designated identical intro timepoint in eachsubsequent play, the first play station automatically trims a currentvalidated audio media in the altered ordered combination of validatedmedia and crossfades to a next validated audio media in the alteredordered combination of validated media.
 14. The platform of claim 12,wherein the first user interface allows the media creator to designatean outro timepoint after the designated intro timepoint within theordered combination of audio media, wherein when the first play stationreaches a designated outro timepoint in the initial play, the first playstation automatically trims a current validated audio media in theordered combination of validated media and crossfades to a nextvalidated audio media in the ordered combination of validated media. 15.The platform of claim 14, wherein designating the outro timepoint withinthe ordered combination of audio media automatically designates anidentical outro timepoint within every generated altered combination ofvalidated audio media, wherein when the first play station reaches thedesignated identical intro timepoint in each subsequent play, the firstplay station automatically trims a current validated outro media in thealtered ordered combination of validated media and crossfades to a nextvalidated audio media in the altered ordered combination of validatedmedia.
 16. The platform of claim 14, wherein the ordered combination ofaudio media within the intro timepoint comprises an intro segment,wherein the ordered combination of audio media after the intro timepointand before the outro timepoint comprises a main segment, wherein theordered combination of audio media after the outro timepoint comprisesan outro segment, or any combination thereof.
 17. The platform of claim16, wherein the first user interface further color codes one or moresegments.
 18. The platform of claim 1, wherein the first user interfaceprovides one or more similar audio media when the media creator selectsa audio media.
 19. The platform of claim 1, wherein the first userinterface allows the media creator to configure a first trim point for astart of a selected audio media and a second trim point for an end ofthe selected audio media.
 20. Non-transitory computer-readable storagemedia encoded with instructions executable by one or more processors toprovide an application for creating and operating a first play station,the application configured to perform operations comprising: a)providing a first user interface allowing a media creator to select aplurality of audio media and sequence the selected audio media to createan ordered combination of audio media and request a first play station;b) validating each audio media in the ordered combination to create afirst play station, wherein validating audio media comprises checkingcompliance with copyright playback rules or licensing restrictions,wherein the first play station comprises a first play station play timelength; c) publishing the first play station from at least one server;and d) generating at least one alteration to the ordered combination ofvalidated audio media, wherein the at least one alteration is selectedfrom the group consisting of: an alternate validated audio media, analternate sequence of the ordered combination of validated audio media,or a combination thereof, wherein the at least one alteration to theordered combination of validated audio media is based on compliance withcopyright playback rules or licensing requirements, wherein eachgenerated altered combination of validated audio media comprises a totalplay time length that is the same as the first play station play timelength; wherein a start of a video on a third party player applicationtriggers a call to start the published first play station, wherein aninitial play of the published first play station consists of the orderedcombination of validated audio media; and wherein in each subsequentplay of the published first play station comprises the at least onealteration to the ordered combination of validated audio media.
 21. Themedia of claim 20, wherein the first user interface further allows themedia creator to select audio media based on at least one of: title,genre, beats per minute (bpm), tempo, artist, duration, language, recordlabel, composer, date, media franchise, medium, awards, album, explicitlanguage, loudness, intensity, energy, live version, and remix.
 22. Themedia of claim 20, wherein publishing the video comprises streaming thevideo to one or more end user devices.
 23. The media of claim 20,wherein the alternate validated audio media is different from thevalidated audio media.
 24. The media of claim 23, wherein generating theat least one alteration to the ordered combination of validated audiomedia comprises selecting one or more alternate audio media based onsimilarity to a validated audio media with regard to at least one of thefollowing characteristics: title, genre, bpm, tempo, artist, duration,language, record label, composer, date, media franchise, medium, awards,album, explicit language, live version, remix, frequency range, andfrequency distribution.
 25. The media of claim 20, wherein the firstuser interface provides one or more similar audio media when the mediacreator selects a audio media.
 26. The media of claim 20, wherein thefirst user interface allows the media creator to configure a first trimpoint for a start of a selected audio media and a second trim point foran end of the selected audio media.
 27. A computer-implemented method ofcreating and operating a first play station, the method comprising: a)providing a first user interface allowing a media creator to select aplurality of audio media and sequence the selected audio media to createan ordered combination of audio media and request a first play station;b) validating each audio media in the ordered combination to create afirst play station wherein validating audio media comprises checkingcompliance with copyright playback rules or licensing restrictions,wherein the first play station comprises a first play station play timelength; c) publishing the first play station from at least one server;and d) generating at least one alteration to the ordered combination ofvalidated audio media, wherein the at least one alteration is selectedfrom the group consisting of: an alternate validated audio media, analternate sequence of the ordered combination of validated audio media,or a combination thereof, wherein the at least one alteration to theordered combination of validated audio media is based on compliance withcopyright playback rules or licensing requirements, wherein everygenerated altered combination of validated audio media comprises a totalplay time length that is the same as the first play station play timelength, wherein a start of a video on a third party player applicationtriggers a call to start the published first play station, wherein aninitial play of the published first play station consists of the orderedcombination of validated audio media; and wherein in each subsequentplay of the published first play station comprises the at least onealteration to the ordered combination of validated audio media.
 28. Themethod of claim 27, wherein the first user interface further allows themedia creator to select audio media based on at least one of: title,genre, beats per minute (bpm), tempo, artist, duration, language, recordlabel, composer, date, media franchise, medium, awards, album, explicitlanguage, loudness, intensity, energy, live version, and remix.
 29. Themethod of claim 27, wherein the alternate validated audio media isdifferent from the validated audio media.
 30. The method of claim 29,wherein generating the at least one alteration to the orderedcombination of validated audio media comprises selecting one or morealternate audio media based on similarity to a validated audio mediawith regard to at least one of the following characteristics: title,genre, bpm, tempo, artist, duration, language, record label, composer,date, media franchise, medium, awards, album, explicit language, liveversion, remix, frequency range, and frequency distribution.
 31. Themethod of claim 27, wherein the first user interface provides one ormore similar audio media when the media creator selects a audio media.32. The method of claim 27, wherein the first user interface allows themedia creator to configure a first trim point for a start of a selectedaudio media and a second trim point for an end of the selected audiomedia.